1. Field of the Invention
The present invention relates to a network system, and in particular to a network system comprising terminals and relaying nodes for transferring a packet.
In recent years, there have been introduced various applications for multi-media such as Internet FAX, Internet PHONE, and IP/TV. With the spread of the World Wide Web (WWW), Internet users have been easily able to share not only text information but also information such as voice and image. It is considered that the use of these applications brings on various merits such as an improvement in operation efficiency and a cost reduction. On the other hand, problems of increased multi-media traffic exhausting network resources and of failing to meet a satisfactory communication quality become serious.
Therefore, it is required to offer a service which selectively guarantees a communication quality by identifying and categorizing a network traffic. Namely, it is required to offer such a service as guarantees a certain communication quality regardless of the network usage rate or the network load by distinguishing the network traffic depending on the grade of users and the priority of applications, i.e. importance of business applications, and the communication quality such as delay or fluctuation of delay required by multi-media application.
In order to guarantee a certain communication quality, it is required that resources of more than a certain amount are allocated to a certain traffic (application) to guarantee the availability of such resources during the communication. For this purpose, it is necessary to provide a resource reservation mechanism which declares how much communication quality (delay, bandwidth, fluctuation, etc.) the traffic requires to the network or to devices on a route where the traffic is to be relayed, and which reserves the resources required for guaranteeing the communication quality.
2. Description of the Related Art
For the reservation of network resources used for communications, it has been known to use a resource reservation method called ST-II and to perform the reservation by procedures described as follows (see FIG. 24):
(1) When it is desired to secure network resources (i.e. when a resource reservation is made) for a data packet (hereinafter simply referred to as a xe2x80x9cpacketxe2x80x9d), a packet transmitting terminal 1, which is going to transmit a package as a source, transmits a connection request (CONNECT) message to a packet receiving terminal 3, which is going to receive the packet as a destination, in order to secure the resources for the packet at relaying nodes 2a and 2b. In the connection request message, an identification information for identifying the packet, a requested resource reservation value (FlowSpec) indicating the amount of the resources desired to be secured, and its own address of the terminal 1 for notifying that the terminal 1 itself has last transmitted this message are to be stored.
(2) The relaying nodes 2a and 2b existing between the packet transmitting terminal 1 and the packet receiving terminal 3 once receive the connection request message, and then perform the following operations:
Transmitting an acknowledgement (ACK) message notifying a relaying node which has last relayed, or a packet transmitting terminal which has last transmitted, the connection request message (hereinafter referred to as xe2x80x9cprevious HOPxe2x80x9d) that the connection request message has been received.
Learning and storing the relaying node (previous HOP) which has last transmitted the connection request message.
Determining whether or not to accept the reservation request i.e. admission based on the resource reservation request value (FlowSpec) in the connection request message. If the reservation request should be accepted, then the connection request message is relayed. At the same time, in order to indicate that the node itself has last transmitted the message, the node puts its own node address into the connection request message.
(3) The packet receiving terminal 3 which has received the connection request message performs the following operations:
Transmitting an acknowledgement message notifying the relaying node which has last relayed, or the packet transmitting terminal which has last transmitted, the connection request message that the connection request message has been received.
Determining whether or not to accept the reservation request based on the resource reservation request value (FlowSpec) in the connection request message. If the reservation request should be accepted, in order to notify the packet transmitting terminal 1 that the connection request has been reserved at all the relaying nodes 2a and 2b, an acceptance (ACCEPT) message is transmitted to the relaying node which has last transmitted the connection request message.
(4) When receiving the acceptance message, the relaying nodes 2a and 2b perform the following operations:
Transmitting the acknowledgement message notifying the relaying node which has last relayed, or the packet receiving terminal which has last transmitted, the acceptance message that the acceptance message has been received.
Relaying the acceptance message to the previous HOP.
(5) When receiving the acceptance message, the packet transmitting terminal 1 transmits the acknowledgement message notifying the relaying node which has last relayed the acceptance message that the acceptance message has been received.
(6) The transmitting terminal 1 transmits the packet by way of a hop-by-hop route which passes through the relaying nodes with secured resources, i.e. a route on which the connection request message has been relayed.
The following applications will now be reviewed.
{circle around (1)} Files on a server are downloaded by using FTP (File Transfer Protocol).
{circle around (2)} A subscriber of a video-on-demand system requests to see a certain TV program.
In such applications, it is expected that a terminal equipment at a packet receiving end (a packet receiving terminal) can smoothly download files within a fixed period of time, or that packets can be transmitted with a delay shorter than a fixed period of time so that a constant reproduction quality may be maintained.
In these cases, it is required, not for a terminal equipment at the packet transmitting end (a packet transmitting terminal) to request the network for the resources to secure the communication quality, but for a packet receiving terminal to request the network for the resources to secure the communication quality. Namely, it is required for the packet receiving terminal to notify the amount of resources capable of securing the communication quality to the packet relaying nodes for the reservation of the resources.
However, such prior art, which makes the packet transmitting terminal perform the reservation of the network resources, is not applicable when the packet receiving terminal desires to reserve the network resources.
It is accordingly an object of the present invention to provide a network system in which a reservation of network resources may be requested from a packet receiving terminal side.
A network system according to the present invention for the achievement of the above-mentioned object is schematically illustrated in FIG. 1.
This network system, as illustrated, comprises a packet transmitting terminal 1, a packet relaying node 2, and a packet receiving terminal 3. Among these, the packet transmitting terminal 1 and the packet receiving terminal 3 both comprise reservation message processing units 4, 9, packet transferring units 5, 10; the relaying node 2 comprises a reservation acceptance determining unit 6 in addition to a reservation message processing unit 7 and a packet transferring unit 8.
Each portion of this network system will now be described in the following:
Packet Transferring Units 5, 8, and 10
These units perform data processing with respect to a packet. In the packet transmitting terminal 1 a packet transmitting process to the network is performed, in the packet receiving terminal 3 a packet receiving process from the network is performed, and in the relaying node 2 the destination of the packet received from the network is determined by using a routing table, thereby performing a process of transmitting the packet to the network.
Reservation Message Processing Units 4, 7, and 9
In these units, various types of messages used in the present invention are processed for exchanging those messages with the other relaying nodes and terminals.
In FIG. 2, a format of a network layer packet which stores the message is illustrated. In this example, the format is composed of a destination network address, a source network address, a protocol identifier (ID), and message data. The various types of message data are illustrated in FIGS. 3-8, which will be described hereinafter. It is to be noted that FIGS. 9 and 10 illustrate a packet identifier (ID) which is a parameter of a message packet and a resource reservation value.
{circle around (1)} Request Message (REQ): see FIGS. 3, 9, and 10
This is a message which the packet receiving terminal 3 transmits to the packet transmitting terminal 1 when the former desires to have a reservation for the packet. This request message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
Resources desired to be allocated for the packet (resource reservation value)
This is described in terms of a bandwidth, delay, delay fluctuation, or the like.
{circle around (2)} Acknowledgement Message (ACK): see FIGS. 4, 9, and 10
This is a message that the packet transmitting terminal 1 transmits to the relaying node 2 when the former receives the request message and is requested to have a reservation for the packet; or that the relaying node 2 which has received the acknowledgement message transmits to a relaying node which will subsequently relay the packet or to the packet receiving terminal 3 which will receive the packet. The acknowledgement message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
Resources desired to be allocated for the packet (resource reservation value)
This is described in terms of a bandwidth, delay, delay fluctuation, or the like.
The above information is indispensable. In order to improve the convenience, the following information may be stored in the message.
A flag indicating that the resource reservation value has been modified at a relaying node (reservation refusal flag)
When the relaying node 2 does not have enough resources to meet the resource reservation value, the resources are occasionally necessary to be secured within a range which can be secured at the relaying node. In this case, this flag is used to notify that the resource reservation value has been modified at the relaying node 2 to the other relaying nodes or to the packet receiving terminal 3.
A flag indicating that the resource reservation value has been modified at the packet transmitting terminal (reservation value modification flag)
The packet transmitting terminal 1 which has received the request message transmitted from the packet receiving terminal 3 compares the resource reservation value stored in the request message with the resources required by the packet to be reserved. If the condition requested by the requesting message is found to be the one more than required, the packet transmitting terminal 1 may modify the resource reservation value stored in the acknowledgement message. In this case, this flag is used to notify that the resource reservation value has been modified at the packet transmitting terminal 1 to the other relaying nodes or to the packet receiving terminal 3.
A flag used for requesting the packet receiving terminal to notify the result of a reservation procedure by a reservation completion notifying message (completion notification request flag)
The packet transmitting terminal 1 which requests the reservation completion notice sets this flag upon transmitting the acknowledgement message.
On the other hand, the relaying nodes which relay this acknowledgement message relay this flag transparently (i.e. without changing this flag).
{circle around (3)} Error Message (ERR): see FIGS. 5, 9, and 10
This is a message which is used when the reservation request has not been accepted for some reason; for example, the relaying node 2 has failed to make the reservation according to the condition requested for the reservation or the reservation has not been accepted due to an intention of a manager (management policy).
This error message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
The above information is indispensable. In order to improve the convenience (if the acknowledgement message has the following information stored therein), the following information may be stored in the error message.
A flag used for requesting the packet receiving terminal to notify the result of a reservation procedure by the reservation completion notifying message (completion notification request flag)
If the reservation is refused at the relaying node 2, the value of the completion notice request flag included in the acknowledgement message is stored as it is in the error message.
{circle around (4)} Reservation Keeping Message (KEP): see FIGS. 6, 9, and 10
This is a message which is periodically transmitted by the packet receiving terminal 3 to the packet transmitting terminal 1, by the packet transmitting terminal 1 to the relaying node 2, or by the relaying node 2 to another relaying node or to the packet receiving terminal 3, in order to keep (retain) the resources reserved in the relaying node 2. On the other hand, if having received no reservation keeping message for more than a fixed period of time, each of the relaying nodes and the terminals releases the secured resources and discontinues the periodical transmission of the acknowledgement message.
This reservation keeping message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
Resources desired to be allocated for the packet (resource reservation value)
This is described in terms of a bandwidth, delay, delay fluctuation, or the like.
{circle around (5)} Reserved Resource Releasing Message (RLS): see FIGS. 7 and 9
This is a message which is transmitted by the packet receiving terminal 3 to the packet transmitting terminal 1, by the packet transmitting terminal 1 to the relaying node 2, or by the relaying node 2 to another relaying node or to the packet receiving terminal 3, in order to release the resources secured in the relaying node 2.
This reserved resource releasing message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
{circle around (6)} Reservation Completion Notifying Message (NTF): see FIGS. 8 and 9
By transmitting the reservation completion notifying message to the packet transmitting terminal 1, the packet receiving terminal 3 is able to notify the packet transmitting terminal 1 whether or not the reservation previously made by the acknowledgement message has been accepted.
The reservation completion notifying message includes the following information:
Information for identifying the packet (packet identifier)
This is described in terms of a destination address, source address, protocol identifier, or the like.
A flag indicating whether or not the reservation request has been completed (reservation completion flag)
Reservation Acceptance Determining Unit 6
This unit is required in the relaying node 2. By using the information (the packet identifier and the resource reservation value) included in the received acknowledgement message, this unit determines whether or not the resources meeting the reservation request value can or may be secured for the packet which has requested the reservation, and also determines whether or not to accept the reservation.
Depending on the result of the above, this unit sends an order to the reservation message processing unit 7 so as to secure the resources and to perform an appropriate message processing.
By using the transmitting terminal, the receiving terminal, and the relaying nodes, and various types of messages as described above, the network system according to the present invention has the following features:
the reservation message processing unit 9 of the packet receiving terminal 3 transmits to the packet transmitting terminal 1 the request message in which the reservation request condition is stored in order to request a resource reservation for the packet; the reservation message processing unit 4 of the packet transmitting terminal 1 having received the request message transmits to the relaying nodes 2 on the same route as the packet the acknowledgement message in which the reservation request condition is stored; the reservation message processing unit 7 of each relaying node 2 provides the resource reservation for the home relaying node according to the reservation request condition in the acknowledgement message and transfers the acknowledgement message to the same route as the packet; and after the acknowledgement message has passed through all the relaying nodes 2 which relay the packet and then the reservation message processing unit 9 of the packet receiving terminal 3 has received the acknowledgement message, a network resource reservation procedure is completed.
The above-mentioned acknowledgement message may store the address of the packet receiving terminal 3 and the protocol identifier which specifies the protocol indicating the resource reservation procedure, the packet transmitting terminal 1 and the relaying nodes 2 may respectively maintain in their reservation message processing units 4 and 7 the routing table for transmitting the acknowledgement message to the same route as the packet, and may have the reservation message processing unit 7 of each relaying node 2 check the protocol identifier to determine whether or not to receive the acknowledgement message.
The above-mentioned acknowledgement message may store the address of the packet receiving terminal 3 and the address of the subsequent relaying node 2 which is retrieved by using the address of the packet receiving terminal 3 as a key from the routing table for transmitting the acknowledgement message to the same route as the packet, the packet transmitting terminal 1 and the relaying nodes 2 may respectively maintain the routing table in their reservation message processing units 4 and 7, and may have the reservation message processing unit 7 of each relaying node 2 check if the address in the acknowledgement message is a home address to determine whether or not to receive the acknowledgement message.
The reservation acceptance determining unit 6 of each relaying node 2 may determine whether or not to accept the reservation request condition in the acknowledgement message, and the reservation message processing unit 7 may transfer the acknowledgement message if the condition should be accepted, but may transmit the error message notifying the error to the packet receiving terminal 3 if not.
The reservation acceptance determining unit 6 of each relaying node 2 may determine whether or not to accept the reservation request condition in the acknowledgement message, and the reservation message processing unit 7 may transfer the acknowledgement message if the condition should be accepted, but may provide the resource reservation with an allowable condition for each relaying node 2 to accept the reservation and transfer the acknowledgement message which has the reservation request condition modified to the accepted condition if not.
A flag may be provided in the acknowledgement message to indicate that the reservation request condition has been modified, the flag may be set when the reservation message processing unit 7 of each relaying node 2 modifies the reservation request condition in the acknowledgement message, and by checking the flag the reservation message processing unit 9 of the packet receiving terminal 3 may confirm whether or not the reservation request has been accepted by each relaying node 2.
The reservation message processing unit 9 of the packet receiving terminal 3 may compare the requested reservation request condition with the reservation request condition stored in the acknowledgement message and confirm, depending on the compared result, whether or not the reservation request has been accepted by each relaying node 2.
The reservation message processing unit 9 of the packet receiving terminal 3, having confirmed by receiving the error message that the reservation request has not been accepted, may modify the reservation request condition and resend the request reservation.
In order to release the reserved resource within each relaying node 2, the reserved resource releasing message may be sent in at least one of the following directions:
from the packet receiving terminal 3 to the packet transmitting terminal 1;
from the packet transmitting terminal 1 to the relaying nodes 2;
between the relaying nodes 2; and
from the relaying nodes 2 to the packet receiving terminal 3.
In order to maintain the resource within each relaying node 2, the reservation keeping message may be transmitted periodically in at least one of the following directions:
from the packet receiving terminal 3 to the packet transmitting terminal 1;
from the packet transmitting terminal 1 to the relaying nodes 2;
between the relaying nodes 2; and
from the relaying nodes 2 to the packet receiving terminal 3,
and if the resource reservation keeping message has not been received for more than a fixed period of time the resource may be released and the periodical transmission of the resource reservation keeping message may be discontinued.
The reservation message processing unit 4 of the packet transmitting terminal 1 may compare a resource specified in the reservation request condition within the received request message and a resource required by the packet to be reserved, and if the former is larger than the latter, transmit the acknowledgement message after the reservation request condition having been modified.
A flag may be provided in the acknowledgement message to indicate that the reservation condition has been modified, the flag may be set when the packet transmitting terminal 1 modifies the reservation condition in the acknowledgement message, and by checking the flag the packet receiving terminal 3 may confirm whether or not the reservation request condition has been modified by the packet transmitting terminal 1 to the resource required by the packet.
The reservation message processing units of the packet transmitting terminal 1 and the relaying nodes 2 may preliminarily modify the reservation condition in the received message according to control information on resource reservation made by at least one of a network manager and a manager of the relaying node 2.
A flag may be provided in the acknowledgement message in order for the packet receiving terminal 3 to notify the completion of the reservation procedure to the packet transmitting terminal 1, the reservation message processing unit of the packet transmitting terminal 1 may set the flag upon transmitting the acknowledgement message, and the reservation message processing unit of the packet receiving terminal 3 which has received the acknowledgement message with the flag set may notify the completion of the reservation procedure to the packet transmitting terminal 1 through the reservation completion notifying message.
As for the packet transmitting terminal according to the present invention handling packets which have stored therein reservation request conditions for resource reservation, the packet transmitting terminal which has received a request message which has stored therein the reservation request conditions for resource reservation requested by the packet receiving terminal may perform routing an acknowledgement message which has stored therein the reservation request condition to the relaying node by the reservation message processing unit of the packet transmitting terminal.
As for the relaying node according to the present invention handling packets which have stored therein reservation request conditions, the relaying node which has received an acknowledgement message which has stored therein the reservation request conditions for resource reservation requested by the packet transmitting terminal may provide the resource reservation for the home relaying node according to the reservation request condition in the acknowledgement message and perform routing the acknowledgement message to another relaying node or to the packet receiving terminal by the reservation message processing unit of the relaying node.
The packet receiving terminal according to the present invention handling packets which have stored therein reservation request conditions, upon receiving the acknowledgement message which has stored therein the reservation request conditions requested by the relaying node, may complete the resource reservation procedure with the packet transmitting terminal.